1406B - Maximum Product - CodeForces Solution


brute force dp greedy implementation sortings *1200

Please click on ads to support us..

Python Code:

import sys
from math import *

for _ in range(int(input())):
    n = int(input());
    a = list(map(int,input().split()));
    a.sort();
    ans = -10**18;
    for i in range(n):
        ans = max(ans, a[i%n]*a[(i+1)%n]*a[(i+2)%n]*a[(i+3)%n]*a[(i+4)%n]);
    print(ans);
    
    
    
    
    

C++ Code:

#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;

int main() {
    int t;
    cin>>t;
    while(t--){
        ll n;
        cin>>n;
        ll ar[n];
        for(ll i=0;i<n;i++){
            cin>>ar[i];
        }
        sort(ar,ar+n);
        ll m1=ar[0]*ar[1]*ar[2]*ar[3]*ar[4];
        ll m2=ar[n-1]*ar[n-2]*ar[n-3]*ar[n-4]*ar[n-5];
        ll ans=max(m1,m2);
        ll m3=ar[0]*ar[1]*ar[2]*ar[3]*ar[n-1];
        ll m4=ar[0]*ar[1]*ar[n-3]*ar[n-1]*ar[n-2];
        ll ans1=max(m3,m4);
        ans=max(ans,ans1);
        cout<<ans<<"\n";
    }
    return 0;
}


Comments

Submit
0 Comments
More Questions

151A - Soft Drinking
1352A - Sum of Round Numbers
281A - Word Capitalization
1646A - Square Counting
266A - Stones on the Table
61A - Ultra-Fast Mathematician
148A - Insomnia cure
1650A - Deletions of Two Adjacent Letters
1512A - Spy Detected
282A - Bit++
69A - Young Physicist
1651A - Playoff
734A - Anton and Danik
1300B - Assigning to Classes
1647A - Madoka and Math Dad
710A - King Moves
1131A - Sea Battle
118A - String Task
236A - Boy or Girl
271A - Beautiful Year
520B - Two Buttons
231A - Team
479C - Exams
1030A - In Search of an Easy Problem
158A - Next Round
71A - Way Too Long Words
160A - Twins
1A - Theatre Square
1614B - Divan and a New Project
791A - Bear and Big Brother